package com.study.designmodes.service.liabilityChain.v4;

import com.study.designmodes.service.liabilityChain.v4.bean.Student;
import org.springframework.stereotype.Service;

/**
 * 洗发槽
 *
 * @author yangyanbin
 * @date 2023/03/22
 * @since 20230322
 */
@Service
public class WashHairSlot extends AbstractLinkedProcessorSlot<Student> {
    /**
     * 处理过程
     * <p>
     * 在类上自定义的泛型如果在实现类的时候没有指定具体的数据类型，那么默认为 Object 类型。
     *
     * @param student 上下文
     */
    @Override
    protected void doProcess(Student student) {
    /*    // 是否已经洗脸了
        if (student.isWashFace()) {
            // 去洗头
            student.setWashHair(true);
            System.out.println(student.getName() + "洗完头");
        }*/
        // 去洗头
        student.setWashHair(true);
        System.out.println(student.getName() + "洗完头");


    }

    /**
     * 校验
     *
     * @param student
     */
    @Override
    public void validate(Student student) {
        if (!student.isWashFace()) {
            return;
        }
    }
}
